-- GET_SKILL_DESC_198

-- 技能穿击炮描述
-- @param skillId 技能id
return function(skillId)
    local desc  = getSkillLocStr("desc_198");
    local link1 = getSkillLocStr("desc_198_link_1");
    local link2 = getSkillLocStr("desc_198_link_2");

    local row = SkillM.getRow(skillId);
    for _, field in ipairs({ "apply1", "apply2", "apply3", "apply4", "apply5", "apply6", }) do
        local ruleDesc = row[field];
        if (ruleDesc and ruleDesc ~= "") then
            local _, __, rule, para = string.find(ruleDesc, "([^%(]+)%((.*)%)$");
            local f = SkillM.queryRule(rule);

            desc = f.parseDesc(ME.user, skillId, desc, f.parse(para));
        end
    end

    -- 连携附带暴击效果
    prop = PropM.combine(ME.user, "even_carrying", "crit");
    if FormulaM.invoke("CAN_EVEN_CARRYING", skillId) and prop[3] > 0 then
        link1 = spliceLocStr("[blue]", link1, "[-]");
    else
        link1 = spliceLocStr("[gray]", link1, "[-]");
    end

    -- 连携附带粉碎效果
    prop = PropM.combine(ME.user, "even_carrying", "smash");
    if FormulaM.invoke("CAN_EVEN_CARRYING", skillId) and prop[3] ~= 0  then
        link2 = spliceLocStr("[blue]", link2, "[-]");
    else
        link2 = spliceLocStr("[gray]", link2, "[-]");
    end

    return spliceLocStr(desc, "\n\n", link1, "\n", link2);
end